Explanation
Software COMPonents
The ML Field Planner is a framework consisting of the following software components:
TapisBase: Base ICICLE Tapis Softwarectcontroller: Hardware and Software ProvisionerEventEngine: Event EngineCameraTrapsEdgeSoftware: Camera Traps Edge SoftwarePatraKG: Patra Model Card Knowledge GraphPatraToolkit: Patra Model Card Toolkit.CKN: Cyberinfrastructure Knowledge NetworkFederatedAuthService: Tapis Federated Authentication ServiceTapisUI: Tapis User Interfaceicicleai-tapisui-extension: ICICLEAI TapisUI ExtensionCameraTrapsEdgeSimDashboard: Camera Traps Edge Simulator Dashboard
Architectural Overview

The ML Field Planner provides an authenticated framework to submit ML pipelines to edge and cloud devices and analyze the results to make decisions on edge-to-center tradeoffs and text new algorithms.
The planner is powered by the Tapis framework [TapisBase], which provides an authenticated environment [FederatedAuthService], including the Camera Traps Edge Simulator Dashboard, a graphical user interface [TapisUI, icicleai-tapisui-extension, CameraTrapsEdgeSimDashboard] to submit jobs, as well as a dashboard to view job metrics (CKN).
Once the user selects the hardware, model, and dataset and submits the analysis run from the Camera Traps Edge Simulator Dashboard, a Tapis job is generated. This launches the hardware and software provisioner [CTController] on a backend node, which handles the provisioning of the hardware, setup and running of the ML pipeline, and shutting down the hardware.
The ML pipeline is launched from the dashboard is built using the Event Engine [EventEngine], which allows plugins to communicate with each other over zmq sockets. [CameraTrapsEdgeSoftware] is a set of plugins deployed a docker container that communicate across the Event Engine. When provided with a set of images or a prerecorded video, it can be run in simulation mode on the provisioned hardware to simulate a real ML-enabled camera trap.
As part of the setup that ctcontroller does to prepare the provisioned hardware for the pipeline, it sends a request to the [PatraKG] using the model id specified by the user, parsing the model card to obtain download model to the local device. New model cards can can created and added to the the Patra model card toolkit [PatraToolkit].
As the ML pipeline runs, a CKN daemeon streams metric data from the local to device to a CKN broker running on a backend node [CKN], including model and system performance, viewable from a dashboard in the graphical user interface [TapisUI, icicleai-tapisui-extension].